home *** CD-ROM | disk | FTP | other *** search
- Program TSR;
-
- { TSR Demo }
- { (c) Jul 94 Luis Mezquita Raya }
-
- {$M $1000,0,0}
-
- uses Crt,Dos;
-
- var OldInt09h:procedure;
-
- Procedure EndTSR; assembler;
- asm
- cli
- mov AH,49h
- mov ES,PrefixSeg
- push ES
- mov ES,ES:[2Ch]
- int 21h
- pop ES
- mov AH,49h
- int 21h
- sti
- end;
-
- {$f+}
- Procedure NewInt09h; interrupt;
- var k:byte; kb_exit:boolean;
- begin
- k:=Port[$60];
- kb_exit:=False;
- if k<$80
- then begin
- Sound(5000);
- Delay(1);
- NoSound;
- end
- else if k=$CE { $4E or $80 }
- then kb_exit:=True;
- asm pushf end;
- OldInt09h;
- if kb_exit
- then begin
- Sound(440);
- Delay(15);
- NoSound;
- SetIntVec(9,@OldInt09h);
- EndTSR;
- end;
- end;
- {$f-}
-
- begin
- GetIntVec(9,@OldInt09h);
- SetIntVec(9,@NewInt09h);
- Keep(0);
- end.
- >--- cut here -----------------------------------------------------
-
- When you run this program you get a key-click each time you
- press a key but TSR program discharges if you press the big '+' key
- (at numeric keyboard).
-
- Greetings,
- Luis
-